package com.china08.yxyapi;

public class SystemConstant {

    /***
     * 功能Id
     */

    public static final String VIPHUIYUAN = "yx_0006";
    public static final String VIPHUIYUANNAME = "VIP学生会员";

    public static final String TEAVIPHUIYUAN = "yx_0002";
    public static final String TEAVIPHUIYUANNAME = "VIP学生会员";

    public static final String SCHVIPHUIYUAN = "yx_0000";
    public static final String SCHVIPHUIYUANNAME = "VIP机构会员";

    /*
     * ## 系统角色 sys_role
     */
    // 教师 系统角色id
    public static final String SYS_ROLE_TEACHER_ROLE_ID = "8d788385431273d11e8b43bb78f3aa41";

    // 行政部 系统角色id
    public static final String SYS_ROLE_XINGZHEN_ROLE_ID = "aa8251bf8d7d36bc6fb6d6ac23eeaa2a";

    // 网站内容审核 系统角色id
    public static final String SYS_ROLE_EXAMINE_ADMIN_ROLE_ID = "c375bb3756639a7cd4981813e532d718";

    // 家长 系统角色id
    public static final String SYS_ROLE_GUARDIAN_ROLE_ID = "d85362faae75ddbec33d4870191c72e9";

    // 操作指南 系统角色id
    public static final String SYS_ROLE_CAOZUO_ROLE_ID = "e68dcffeba22d05955a175182e4ff6de";

    // 学校校长 系统角色id
    public static final String SYS_ROLE_SCHOOL_PRINCIPAL_ROLE_ID = "74acdaf2df9e2c4946a26458cff862d1";

    // 晨检老师 系统角色id
    public static final String SYS_ROLE_CJTEACHER_ROLE_ID = "749c9b63acb2f629b03c68fdf8837026";

    // 演示用户管理员 系统角色id
    public static final String SYS_ROLE_YANSHIADMIN_ROLE_ID = "6bf4980420d6e89f82c139cb2572de7e";

    // APP版本管理员 系统角色id
    public static final String SYS_ROLE_APPVERSION_ADMIN_ROLE_ID = "60b11d010498eca8a951af441ce325cb";

    // 网站内容发布 系统角色id
    public static final String SYS_ROLE_EDITOR_ROLE_ID = "5aee9dbd2a188839105073571bee1b1f";

    // 教师空间(教学空间) 系统角色id
    public static final String SYS_ROLE_TEACHING_SPACE_ROLE_ID = "5a8eb20b98b39b47df84c23c2332da7a";

    // 接收上级通知 系统角色id
    public static final String SYS_ROLE_EDB_NOTIFICATION_RECEIVER_ROLE_ID = "554ed2947fb654a818412116ba966e02";

    // 运营中心管理员 系统角色id
    public static final String SYS_ROLE_SCHOOL_AGENT_ROLE_ID = "511cf912001d8b1d14aadb018b510e0f";

    // 角色管理员 系统角色id
    public static final String SYS_ROLE_ROLE_ADMIN_ROLE_ID = "4ae33445313a0cef2a17b57ea1d45cb6";

    // 培训部 系统角色id
    public static final String SYS_ROLE_PEIXUNBU_ROLE_ID = "3eae87636497632abc361a7ce7c74f36";

    // 食谱添加 系统角色id
    public static final String SYS_ROLE_COOKBOOK_ROLE_ID = "310636af348fc3f27d7f7c2040807a97";

    // 客服部 系统角色id
    public static final String SYS_ROLE_KEFUBU_ROLE_ID = "22bdcafd733f825aa20da9976dda9bf3";

    // 超级管理员 系统角色id
    public static final String SYS_ROLE_SUPER_ADMIN_ROLE_ID = "17c4520f6cfd1ab53d8745e84681eb49";

    // APP模块管理 系统角色id
    public static final String SYS_ROLE_APP_MODEL_ADMIN_ROLE_ID = "15a67b5246e5738ac0218b5af23b9174";

    // 云校使用的schoolid
    public static final String YUNXIAO_SCHOOL_ID = "ff80808142a16af00142a1a60f010006";

    // 新平台角色定义
    // 平台老师角色
    public static final String ROLE_TEACHER = "ROLE_TEACHER";

    // 平台学生角色
    public static final String ROLE_STUDENT = "ROLE_STUDENT";

    // 平台家长角色
    public static final String ROLE_PARENTS = "ROLE_PARENTS";

    // 平台学校管理员角色
    public static final String ROLE_SCH_ADMIN = "ROLE_SCH_ADMIN";

    // 平台教育局角色
    public static final String ROLE_EDU_ADMIN = "ROLE_EDU_ADMIN";

    // ###
    // 试题上传使用
    public static final String TIANKONG_REGEX = "#@#";

    // 试题上传使用
    // 填空下划线
    public static final String TIANKONG_REGEX_XIAHUAXIAN = "___";

    // ## 搜索资源专用
    public static final String RESOURCE_PREFIX = ".*";

    // ## 搜索资源专用
    public static final String RESOURCE_SUFFIX = ".*";
    // 哈尔滨 备课包大赛使用
    public static final String[] HAERBINCODE = new String[] { "230101", "230102", "230103", "230104", "230108",
            "230109", "230110", "230111", "230112", "230123", "230124", "230125", "230126", "230127", "230128",
            "230129", "230182", "230183", "230184" };
    public static final String[] HAERBINNAME = new String[] { "市辖区", "道里区", "南岗区", "道外区", "平房区", "松北区", "香坊区", "呼兰区",
            "阿城区", "依兰县", "方正县", "宾县", "巴彦县", "木兰县", "通河县", "延寿县", "双城区", "尚志市", "五常市" };

    /**
     * 学校类型
     * 
     */
    public static enum SchoolType {
        ST0, ST1, ST2, ST3, ST4, ST5;

        public static String getDescription(SchoolType schoolType) {
            String description = "";
            switch (schoolType) {
            case ST0:
                description = "幼儿园";
                break;
            case ST1:
                description = "小学";
                break;
            case ST2:
                description = "初中";
                break;
            case ST3:
                description = "高中";
                break;
            case ST4:
                description = "大学";
                break;
            case ST5:
                description = "培训机构";
                break;
            default:
                break;
            }
            return description;
        }
    }

    /** 课程类别中学段识别字段 */
    public static enum CourseCategory {
        OTHER, // 其他
        CC0, // 幼儿园
        CC1, // 小学
        CC2, // 初中
        CC3; // 高中

        public static String getDescription(CourseCategory courseCategory) {
            String description = "";
            switch (courseCategory) {
            case OTHER:
                description = "其他";
                break;
            case CC0:
                description = "幼儿园";
                break;
            case CC1:
                description = "小学";
                break;
            case CC2:
                description = "初中";
                break;
            case CC3:
                description = "高中";
                break;
            default:
                break;
            }
            return description;
        }
    }

    /**
     * 班级-年级
     * 
     * @author Ertao.Fang
     * 
     */
    public enum ClassGrade {
        // 学前班
        G_XQ,
        // ClassPhase.P0
        G0_0, G0_1, G0_2, G0_3,
        // ClassPhase.P1
        G1, G2, G3, G4, G5, G6,
        // ClassPhase.P2
        G7, G8, G9, GC4,
        // ClassPhase.P3
        G10, G11, G12,
        // ClassPhase.P4
        G13, G14, G15, G16,
        //
        GPX;

        public static String getDescription(ClassGrade classGrade) {
            String description = "";
            switch (classGrade) {
            case G_XQ:
                description = "学前班";
                break;
            case G0_0:
                description = "幼儿园小小班";
                break;
            case G0_1:
                description = "幼儿园小班";
                break;
            case G0_2:
                description = "幼儿园中班";
                break;
            case G0_3:
                description = "幼儿园大班";
                break;
            case G1:
                description = "小学一年级";
                break;
            case G2:
                description = "小学二年级";
                break;
            case G3:
                description = "小学三年级";
                break;
            case G4:
                description = "小学四年级";
                break;
            case G5:
                description = "小学五年级";
                break;
            case G6:
                description = "小学六年级";
                break;
            case G7:
                description = "初中一年级";
                break;
            case G8:
                description = "初中二年级";
                break;
            case G9:
                description = "初中三年级";
                break;
            case GC4:
                description = "初中四年级";
                break;
            case G10:
                description = "高中一年级";
                break;
            case G11:
                description = "高中二年级";
                break;
            case G12:
                description = "高中三年级";
                break;
            case G13:
                description = "大学一年级";
                break;
            case G14:
                description = "大学二年级";
                break;
            case G15:
                description = "大学三年级";
                break;
            case G16:
                description = "大学四年级";
                break;
            case GPX:
                description = "培训机构";
                break;
            default:
                break;
            }
            return description;
        }
    }

    /**
     * 家长类型
     * 
     * @author Ertao.Fang
     * 
     */
    public enum GuardianType {
        G0, G1, G2, G3, G4, G5, G6;

        public static String getDescription(GuardianType guardianType) {
            String description = "";
            switch (guardianType) {
            case G0:
                description = "其他";
                break;
            case G1:
                description = "爸爸";
                break;
            case G2:
                description = "妈妈";
                break;
            case G3:
                description = "爷爷";
                break;
            case G4:
                description = "奶奶";
                break;
            case G5:
                description = "外婆";
                break;
            case G6:
                description = "外公";
                break;
            default:
                description = "其他";
                break;
            }
            return description;
        }
    }

    /**
     * 家长类型
     * 
     * @author Ertao.Fang
     * 
     */
    public enum AccountValidationType {
        EMAIL, SMS;

        public static String getDescription(AccountValidationType accountValidationType) {
            String description = "";
            switch (accountValidationType) {
            case EMAIL:
                description = "邮箱";
                break;
            case SMS:
                description = "短信";
                break;
            default:
                description = "其他";
                break;
            }
            return description;
        }
    }

    /**
     * 密码强度分类
     *
     */
    public enum PasswordStrongType {
        LV0, LV1, LV2, LV3, LV4;

        public static String getDescription(PasswordStrongType passwordStrongType) {
            String description = "";
            switch (passwordStrongType) {
            case LV0:
                description = "密码不能少于6位";
                break;
            case LV1:
                description = "低";
                break;
            case LV2:
                description = "中";
                break;
            case LV3:
                description = "高";
                break;
            case LV4:
                description = "很高";
                break;
            default:
                break;
            }
            return description;
        }
    }

}
